/* 
对菜单进行排版 
规格（20）+数量（5）+小计（7）=32个字符
 */
let encoding = require('./encoding.js')


let MAX_APECS = 20;//规格长度
let MAX_QUANTITY = 5;//数量长度
let MAX_PRICE = 7;//价格

// 计算规格，数量，价格要补多少空格
function strRepeat(str,num){
	let len = num + 1
	return new Array(len).join(str)
}


function Print_order(name, sprcs, quantity, price){
	// 菜名
	let result = name
	result += '<BR>'
	// 规格(8km)
	let sprcs_str = '' + sprcs
	let sprcsLen = encoding.CalcGbkLenForPrint(sprcs_str)//计算文本规格有多少字符
	// console.log('计算文本规格有多少字符' + sprcsLen)
	// 数量
	let quantity_str = '' + quantity//''空字符传
	let quantityLen = encoding.CalcAsciiLenForPrint(quantity_str)
	// console.log('计算数量有多少字符' + quantityLen)
	// 小计
	let price_str = '' + price
	let priceLen = encoding.CalcAsciiLenForPrint(price_str)
	// console.log('计算小计有多少字符' + priceLen)
	
	// 计算规格字符是否满足20个
	result += sprcs_str + strRepeat(" ", MAX_APECS - sprcsLen)        
	// 计算数量字符是否满足5个
	result += quantity_str + strRepeat(" ", MAX_QUANTITY - quantityLen)
	// 计算小计字符是否满足7个
	result += strRepeat(" ", MAX_PRICE - priceLen) + price_str
	result += "<BR>"
	return result
}

module.exports = {Print_order}